Serious Sam

Serious Sam - игры, портированные на Эльбрус
Жанр:

Шутер от первого лица

Описание:

Serious Sam - серия игр в жанре шутер от первого лица. Главным героем серии является Сэмюель Стоун по прозвищу Крутой Сэм. Игры серии отличаются абсурдным юмором и стилем повествования. Так, например, один из врагов(Безголовый камикадзе) - противореча тому факту, что у него отсутствует голова, громко кричит, набегая на игрока. Периодически Сэм иронизирует над персонажами других компьютерных игр, или находит съёмочную площадку, на которой снимают эпизод одной из предыдущих частей игры.

Игры серии разрабатываются студией Croteam с 2001 года. Так же над отдельными частями работали и другие компании. Популярность серии принёс фирменный игровой процесс, представляющий собой возврат к классической формуле шутеров от первого лица. Игрокам приходится расправляться с огромным количеством противников на экране на открытых пространствах, имея в своём распоряжении большой арсенал оружия. Общее количество врагов за всю игру порой достигает нескольких тысяч. Сражения перемежаются продвижением вперёд и исследованием уровней на предмет ключей, а также решением простых головоломок или преодолением препятствий.

Будучи изначально разработанными для персонального компьютера, игры серии быстро обрели популярность среди игроков: разрабатываются любительские дополнения, создаются специальные версии для игровых приставок, выпускаются новые сиквелы, переиздания. Серия насчитывает пять основных игр, 5 переизданий, 12 спин-оффов и несколько портов. Игры серии неоднократно получали множество положительных отзывов от критиков и игроков.

Сюжет:

Сюжет повествует о некоем открытии, данном человечеству в виде заложенного в землю Египта артефакта могущественной цивилизации с планеты Сириус. С его помощью люди продвинулись в науке, однако наткнулись на беспощадное войско инопланетян во главе с их предводителем Менталом, уничтожающих всё на своём пути. Учёные решают использовать найденный при раскопках в Египте древний артефакт под названием «Ключ к вечности», который может переместить одного человека в далёкое прошлое для борьбы с захватчиками. Этим человеком оказывается Сэм Стоун(Крутой Сэм).

Процесс установки:

Serious Engine - порт на OpenPandora (прекрасно работающий на обычном Linux) версии игрового движка с открытым исходным кодом, разработанного Croteam для классических игр Serious Sam.

GitHub

git clone --recursive https://github.com/ptitSeb/Serious-Engine.git
cd Serious-Engine

Serious Sam The Second Encounter:

mkdir build_ssam && cd build_ssam
cmake -DCMAKE_BUILD_TYPE=Release ../Sources/
make -j8

Serious Sam The First Encounter:

mkdir build_ssam-tfe && cd build_ssam-tfe
cmake -DCMAKE_BUILD_TYPE=Release -DTFE=TRUE ../Sources/
make -j8

Получившиеся бинарники и содержимое папок Debug поместить в папку Bin соответствующих оригинальных игр.

Serious Sam Alpha Remake - это модификация, полностью представляющая того «Серьезного Сэма», каким он мог быть изначально, до переделки всех уровней и моделей. Летом 2013 года команда с SeriousSite.ru отправили письмо в Croteam с просьбой предоставить предварительную версию «Серьёзного Сэма». Роман Рибарич согласился на просьбу и поделился старой версией с согласия других членов команды Croteam. Команда SeriousSite.ru анонсировала выпуск будущей бесплатной модификации Serious Sam Origins. К сожалению, по неизвестным причинам команда Serious Sam Origins заморозила проект в 2016 году и полностью прекратила его разработку. Параллельно польский фанат игры с ником Zdzichu сообщил о создании модификации Serious Sam Alpha Remake в 2015 году на основе утекшего windows билда предрелизной версии игры. После четырех лет разработки, в 2019 году вышла финальная версия мода Serious Sam Alpha Remake. Подробнее можно прочитать тут: SeriousSamAlphaRemake Wiki

Сборка для SeriousSamClassic (opengl) и SeriousSamClassic-VK (opengl/vulkan) идентична. Ниже сборка игры вместе с модификацией Serious Sam Alpha Remake и XPLUS.

Сначала клонируем репозитории.

git clone https://github.com/tx00100xt/SeriousSamClassic-VK.git
git clone https://github.com/tx00100xt/SeriousSamAlphaRemake.git

В файлах SeriousSamClassic-VK/SamTFE/Sources/CMakeLists.txt и SeriousSamClassic-VK/SamTFE/Sources/CMakeLists.txt можно заменить march=native на mtune="<Модель>" и выставить оптимизацию -O3

Потом получим архивы с контентом модов и распакуем их в клонированнй репозиторий.

Перейдем в клонированный репозиторий:

cd SeriousSamClassic-VK

Получим данные для модификации Serious Sam Alpha Remake:

wget https://archive.org/download/serioussam-alpharemake-mod-data/SeriousSamAlphaRemake_v1.5.7z
7z x -oSamTFE SeriousSamAlphaRemake_v1.5.7z

или

for var in a b c d; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTFE-SSA/SeriousSamAlphaRemake_v1.5.tar.xz.parta$var; done; cat SeriousSamAlphaRemake_v1.5.tar.xz.part* > SeriousSamAlphaRemake_v1.5.tar.xz
tar -xJvpf SeriousSamAlphaRemake_v1.5.tar.xz -C SamTFE

Получим данные для модификации XPLUS:

wget https://archive.org/download/sam-tfe-xplus/SamTFE-XPLUS.tar.xz
wget https://archive.org/download/sam-tse-xplus/SamTSE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SamTFE
tar -xJvpf SamTSE-XPLUS.tar.xz -C SamTSE

или

for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTFE-XPLUS/SamTFE-XPLUS.tar.xz.parta$var; done; cat SamTFE-XPLUS.tar.xz.part* > SamTFE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SamTFE

for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTSE-XPLUS/SamTSE-XPLUS.tar.xz.parta$var; done; cat SamTSE-XPLUS.tar.xz.part* > SamTSE-XPLUS.tar.xz
tar -xJvpf SamTSE-XPLUS.tar.xz -C SamTSE

Далее соберём исполняемые файлы и библиотеки для игры Serious Sam Classic вместе с модификацией XPLUS:

cd SeriousSamClassic-VK
mkdir build
mkdir build-xplus
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8
make install
cd ..
cd build-xplus
cmake -DCMAKE_BUILD_TYPE=Release -DXPLUS=TRUE ..
make -j8
make install

Далее соберём и библиотеки для модификации Serious Sam Alpha Remake:

cd SeriousSamAlphaRemake/Sources
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DTFE=TRUE ..
make ecc
make -j8

Получившиеся библиотеки libEntities.so и libGame.so из build/Debug поместить в папку SamTFE/Mods/SSA/Bin

Также можно собрать rpm пакеты для установки в систему используя инструкцию:

Как собрать rpm пакет для игры Serious Sam на системе ALT Linux.

Теперь скопируем данные игр Serious Sam The First Encounter и Serious Sam The Second Encounter:

Чтобы начать игру, вам потребуются исходные ресурсы лицензионной копии игр Serious Sam: The First Encounter и Serious Sam: The Second Encounter.

Если у вас есть цифровая копия игры в Steam, то ресурсы можно найти в ~/.local/share/Steam/steamapps/common/Serious Sam Classic The Second Encounter/ (каталог установки игры Steam по умолчанию в Linux).

cd SeriousSamClassic-VK
rsync --progress -rh "$HOME/.local/share/Steam/steamapps/common/Serious Sam Classic The First Encounter/" SamTFE
rsync --progress -rh "$HOME/.local/share/Steam/steamapps/common/Serious Sam Classic The Second Encounter/" SamTSE

Если вы купили цифровую версию на GOG, вы можете распаковать ресурсы с помощью инструмента командной строки innoextract.

cd SeriousSamClassic-VK
innoextract --gog setup_serious_sam_the_first_encounter_2.0.0.10.exe
cp -vfr "app/"{*.gro,Levels,Help} SamTFE
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
innoextract --gog setup_serious_sam_the_second_encounter_2.1.0.8.exe
cp -vfr "app/"{*.gro,Levels,Help} SamTSE
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
rm -rf commonappdata

Если вы купили физическую копию игры и у вас есть ISO-образ вашего диска, вы можете распаковать ресурсы любым менеджером архивов. Ресурсы игры находятся в папке Install на диске. Просто скопируйте оттуда все файлы *.gro, а также каталог Levels в каталоги SeriousSamClassic-VK/SamTFE и SeriousSamClassic-VK/SamTSE соответственно для игр Serious Sam: The First Encounter и Serious Sam: The Second Encounter.

Для запуска игры используйте скрипт:

run_game.sh

или если вам нужен мониторинг MangoHUD

run_game_hud.sh
Комментариев еще нетКомментарии могут оставлять только авторизованные пользователи
Онлайн компилятор e2k Онлайн компилятор e2k

Вы можете изучать предупреждения, ошибки и ассемблерный код, выдаваемые компилятором, а также просматривать результат выполнения скомпилированной программы для архитектуры Эльбрус(E2K). Поддерживаются языки, C++, Fortran, Rust.

Доступ к серверам Эльбрус Доступ к серверам Эльбрус

К серверам на процессорах архитектуры Эльбрус открылся бесплатный удаленный доступ, которым вы можете воспользоваться и возможно портировать что то полезное.

Руководство по эффективному программированию на e2k

Данное руководство содержит основные материалы для обучения эффективному программированию на платформе Эльбрус и применимо на любом варианте Linux-подобной операционной системы.

Телеграмм канал Эльбрус

Чат про администрирование и создание программ на платформе Эльбрус(E2K).